using System;
using System.Collections.Generic;
using System.Text;
using MacomberMap.Common.Components;
using MacomberMap.Common.Logging;
using MacomberMap.Common.Types;

namespace MacomberMap.Common.Events
{
    /// <summary>
    /// This class handles an event for an element not being found
    /// </summary>
    public class MM_Event_ElementNotFound: MM_Event
    {
        #region Variable declarations
        /// <summary>The TEID of the element that could not be found</summary>
        public UInt64 Element_TEID;

        /// <summary>The name of the element that could not be found</summary>
        public String Element_Name;

        /// <summary>The type of the element that could not be found (if any)</summary>
        public MM_Element_Type Element_ElemType;
        #endregion

        #region Initialization
        /// <summary>
        /// Indicate a new element not found error has occurred.
        /// </summary>
        /// <param name="TEID">The TEID of the element</param>
        /// <param name="Name">The name of the element</param>
        /// <param name="ElementType">The type of element</param>
        public MM_Event_ElementNotFound(UInt64 TEID, String Name, MM_Element_Type ElementType)
        {
            this.Element_TEID = TEID;
            this.Element_Name = Name;
            this.Element_ElemType = ElemType;
        }

        #endregion

        /// <summary>
        /// 
        /// </summary>
        /// <param name="OutMenu"></param>
        public override void AddMenuItems(System.Windows.Forms.ContextMenuStrip OutMenu)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public override System.Windows.Forms.ListViewItem BuildListViewItem()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="OutParent"></param>
        public override void DisplayDetails(System.Windows.Forms.Control OutParent)
        {
            throw new Exception("The method or operation is not implemented.");
        }


        /// <summary>
        /// 
        /// </summary>
        /// <param name="lvItem"></param>
        public override void UpdateListViewItem(System.Windows.Forms.ListViewItem lvItem)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override int CompareTo(object obj)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        
    }
}
